/*
 * Visualizer.h
 *
 *  Created on: 06.06.2011
 *      Author: sili
 */

#ifndef VISUALIZER_H_
#define VISUALIZER_H_

// #include "Controller.h"
#include "VisFactory.h"
#include "DrawPane.h"
#include "ControlDrawPane.h"
#include <map>


class Visualizer : public cOsdObject{
private:
	VisFactory * visFactory;

	AALArea visualizerArea;
	int bpp;
	bool exitRequested;
protected:
	cOsd * osd;
	DrawPane * contentPane;
	DrawPane * infoPane;
	ControlDrawPane * controlPane;
	Image * osdAsImage;
public:
	Visualizer(VisFactory * _visFactory);
	virtual ~Visualizer();

	virtual void Show(void);
	virtual eOSState ProcessKey(eKeys Key);

	DrawPane * getContentPane();
	DrawPane * getInfoPane();
	ControlDrawPane * getControlPane();

	uint32_t getTextColor();
	uint32_t getBackgroundColorForPane(DrawPane::PaneType _paneType);
	uint32_t getBackgroundColorForAction(AALAction * _action);

	void Exit();
	void HotkeyAction(int _aalItemHotkey);

	virtual eOSState doBackAction();
};
#endif /* VISUALIZER_H_ */
